The present invention relates generally to design tools for integrated circuits. More specifically, but without limitation thereto, the present invention relates to a method for estimating the number of transit connections that may be routed through a hard macro of an integrated circuit.
Integrated circuits typically include blocks or partitions of multiple circuit elements called hard macros or xe2x80x9chardmacsxe2x80x9d. Each hardmac is a generally rectangular cell that may be a complex hierarchical module containing several smaller modules. Connections made between hardmacs that pass through an intervening hardmac are called transit connections. The number of available transit connections, i.e., the total number of connections of a hardmac minus those connections used internally by the hardmac is termed the porosity of the hardmac. The absolute porosity is the number of transit connections that can be made through a hardmac in either the vertical or the horizontal direction. The relative porosity is the ratio of the absolute porosity to the maximum number of transit connections that can be made through an empty cell having the same size as the hardmac. The porosity of each hardmac in an integrated circuit chip design is useful information for logic design tools that design routable floorplans. Disadvantageously, porosity information is generally not available from hardmac cell libraries, and may be costly to generate.
The present invention advantageously addresses the problems above as well as other problems by providing a method of estimating the number of available transit connections, or porosity, of a hardmac.
In one embodiment, the present invention may be characterized as a method of estimating horizontal and vertical porosity of a hardmac that includes the steps of (a) calculating a total layer capacity of the hardmac; (b) calculating a number of available transit connections from the total layer capacity; (c) estimating a number of transit connections used for internal routing; (d) calculating an absolute porosity of the hardmac from the number of available transit connections and the number of transit connections used for internal routing; (e) calculating a relative porosity of the hardmac from the total metal layer capacity and the absolute porosity; and (f) generating as output the relative porosity of the hardmac as an estimated porosity.
In another embodiment, the present invention may be characterized as a method of estimating horizontal and vertical porosity of a hardmac that includes the steps of (a) calculating a total layer capacity of the hardmac; (b) calculating a number of available transit connections from the total layer capacity; (c) estimating a number of transit connections used for internal routing; (d) calculating an absolute porosity of the hardmac from the number of available transit connections and the number of transit connections used for internal routing; (e) calculating a relative porosity of the hardmac from the total metal layer capacity and the absolute porosity;(f) generating as output the relative porosity of the hardmac as an estimated porosity; and adjusting a coefficient to vary the estimated porosity generated as output in step (e) such that the estimated porosity has a maximum value for which the hardmac may be routed by a place and route tool.
In a further embodiment, the present invention may be characterized as a computer program product for estimating the porosity of a hardmac that includes a medium for embodying a computer program for input to a computer and a computer program embodied in the medium for causing the computer to perform the following functions: (a) calculating a total layer capacity of the hardmac; (b) calculating a number of available transit connections from the total layer capacity; (c) estimating a number of transit connections used for internal routing; (d) calculating an absolute porosity of the hardmac from the number of available transit connections and the number of transit connections used for internal routing; (e) calculating a relative porosity of the hardmac from the total metal layer capacity and the absolute porosity; and (f) generating as output the relative porosity of the hardmac as an estimated porosity.